using System;
using System.Data;
using System.Collections;
using LibreriaBusiness;
using LibreriaCommon;
using LibreriaData;
using SistemaControlTraficoLibDS;
using SistemaControlTraficoLibData;

namespace SistemaControlTraficoLibBusiness
{
    public class boMovil : boMovilBase, IDisposable
    {
        public boMovil(SecurityInfo securityInfo) : base(securityInfo)
        {
        }

        public DataSet FindByFiltros(string movilNumero, string movilPatente, int tipoMovilID, Nullable<decimal> movilCostoHora, Nullable<decimal> movilCostoHoraPeon, Constants.EstadosEnum estado, Constants.EstadosEnum movilPropio)
        {
            try
            {
                return movil.FindByFiltros(movilNumero, movilPatente, tipoMovilID, movilCostoHora, movilCostoHoraPeon, 
                    (estado == Constants.EstadosEnum.Todos ? System.DBNull.Value : (object)estado.GetHashCode()),
                    (movilPropio == Constants.EstadosEnum.Todos ? System.DBNull.Value : (object)movilPropio.GetHashCode()));
            }
            catch (daException ex)
            {
                throw new boException(ex);
            }
        }
        public DataSet FindByDisponible()
        {
            try
            {
                    return movil.FindByDisponibles();
              
            }
            catch (daException ex)
            {
                throw new boException(ex);
            }
        }
        public DataSet FindDisponibleByTipo(int tipoMovilID)
        {
            try
            {
                
                    return movil.FindByDisponiblesByTipo(tipoMovilID);
                
            }
            catch (daException ex)
            {
                throw new boException(ex);
            }
        }
        public DataSet FindByFaltante()
        {
            try
            {
                return movil.FindByFaltante();

            }
            catch (daException ex)
            {
                throw new boException(ex);
            }
        }

    }
}

